package com.boss.salary.dao;

import com.boss.salary.entity.PersonTypeSalary;

import java.util.List;
import java.util.Map;

public interface IPersonTypeSalaryDao {
    /**
     * 保存人员类型挂接工资项数据
     * @param personTypeSalary
     */
    void savePersonTypeSalary(PersonTypeSalary personTypeSalary);

    /**
     * 修改挂接内容
     * @param personTypeSalary
     */
    void updatePersonTypeSalary(PersonTypeSalary personTypeSalary);

    /**
     * 批量插入数据
     * @param personTypes
     */
    void batchSavePersonTypeSalary(List<PersonTypeSalary> personTypes,String mof_div_code);

    /**
     * 通过人员类型获取工资项信息
     * @param personTypes
     * @return
     */
    List<PersonTypeSalary> getInfoByPersonTypes(List<String> personTypes,String mof_div_code);

    /**
     * 单位编报用查询工资项
     * @param personTypes
     * @param mof_div_code
     * @return
     */
    List<PersonTypeSalary> getInfoByPersonTypes4Unit(List<String> personTypes,String mof_div_code);
    /**
     * 根据条件物理删除 人员类型与工资项挂接数据
     * @param queryParam
     */
    void physicsDeletePersonTypeSalary(Map<String, Object> queryParam)  throws Exception  ;

    /**
     * 通过区划获取所有人员类型
     * @param mof_div_code
     * @return
     */
    List<Map<String,Object>> getAllPersonTypeByProvince(String mof_div_code);


    /**
     * 获取单位内所有人员类型
     * @param agencyid
     * @return
     */
    List<String> getAllPersonTypeByAgencyId(String agencyid);

    /**
     * 获取工资字典项
     * @param agencyId
     * @return
     */
    List<Map<String, Object>> selectSalaryName(String agencyId);
}
